<%--
  Created by IntelliJ IDEA.
  User: Teacher
  Date: 2025/3/28
  Time: 14:58
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>文件上传</title>
    <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.4.1.min.js"></script>
    <script>
        $(function(){
            $("#btn").click(function(){
                console.log("------------")
                // 由于在实现文件上传时,参数的值是一个二进制数据
                // 因此,此处的参数传递不能像表单数据一样通过key-value的方式传递
                // 在js中,存在一个内置对象FormData,用于自动或者指定表单中的数据
                // 该对象可以用于接收二进制数据
                // 构造函数的参数表示是哪一个表单,其参数是一个DOM类型
                let formData = new FormData($("#uploadForm")[0]);
                $.ajax({
                    type:"post",
                    url:"${pageContext.request.contextPath}/upload",
                    data: formData,
                    processData: false,
                    contentType: false,
                    success:function(result){
                        $("#s1").html(result)
                    }
                })
            });
        })
    </script>
</head>
<body>
<h1>文件上传</h1>
<hr>
<form id="uploadForm">
    用户名:<input type="text" name="username"><br>
    文件:<input type="file" name="file"><br>
    <input id="btn" type="button" value="提交">
    <span id="s1"></span>
</form>
</body>
</html>
